package com.kamistoat.ruoyi.ruoyicommonlog.annotation;

import com.kamistoat.ruoyi.ruoyicommonlog.enums.BusinessType;
import com.kamistoat.ruoyi.ruoyicommonlog.enums.OperatorType;

import java.lang.annotation.*;

/**
 * 自定义@Log注解
 */
@Target({ElementType.PARAMETER, ElementType.METHOD})  // 注解将作用在类内变量中，包括属性字段和方法
@Documented
@Retention(RetentionPolicy.RUNTIME)
public @interface Log {
    /**
     * 所属模块
     */
    String title() default "";

    /**
     * 操作类型
     */
    BusinessType businessType() default BusinessType.OTHER;

    /**
     * 操作人类型
     */
    OperatorType operatorType() default OperatorType.MANAGE;

    /**
     * 是否保存请求参数
     */
    boolean isSaveRequestData() default true;

    /**
     * 是否保存响应参数
     */
    boolean isSaveResponseData() default true;

}
